package cn.jianyongjie.basic.service;

import cn.jianyongjie.basic.query.BaseQuery;
import cn.jianyongjie.basic.utils.QueryResult;

import java.util.List;

/**
* @Description: TODO
* @Author: JianYongJie
* @Version: 1.0
* @Date:  2022/4/25 17:28
*/
public interface IBaseService<T> {

    // 分页查询
    QueryResult<T> queryData(BaseQuery baseQuery);

    // 查询总条数
    Long queryCount(BaseQuery baseQuery);

    // 根据id查询
    T loadById(Long id);

    // 根据id删除
    void remove(Long id);

    // 进行新增
    void save(T t);

    // 进行修改
    void update(T t);

    // 批量删除
    void batchRemove(List<Long> ids);

    // 查询所有
    List<T> loadAll();
}
